As dependence on computer systems and computer networks increases along with the sophistication and the frequency of attacks on computer systems and computer networks, the subject of computer security is becoming ever more prominent in the industry. Computer security techniques are presently used to protect users of the computer systems and the application programs and operating systems from malicious software (“malware”)—e.g., viruses, worms, and Trojans—designed specifically damage or disrupt a computer system, and other undesirable activity.
Challenge/response is a widely used computer security technique. A common form of challenge/response in computer security is to query the user (e.g., the person) who is using the computer system to verify an action or actions in a dialog box. For example, a dialog box may ask the user to verify an action, such as, install an application on the computer system, stop the firewall or antivirus protection, flush a security policy, etc., that is going to be performed on the computer system. In many instances, the user is just requested to hit either an “OK” button or a “CANCEL” button that is provided in the dialog box. A problem with this type of challenge/response technique is that malware that is currently running on the computer system can hit the “OK” button in the dialog box.
Another common form of challenge/response in computer security is to ask the user who is using the computer system to provide authentication information (e.g., username and password). Once a user has successfully logged on to a computer system by providing the proper credentials to an operating system executing on the computer system, there should not be a need for the operating system to constantly re-authenticate the user. If the operating system needs the user's verification to perform an action, there is no need to put the user's password at risk. Yet, many scenarios that just need to know that the user wishes to perform an action, ask the user to provide proper credentials, such as a password. Challenging the user for a password or other credentials is overused in scenarios where the attempt is to verify that the user wants to perform the action (i.e., achieve a ceremony) and not authentication. If users are in the habit of repeatedly entering their password or credentials, the users begin entering it almost unconsciously. A disadvantage with challenging the user to provide proper credentials is that hackers can simulate the appearance of legitimate challenge/response windows. For example, malware executing on a computer system can present the user a window that is similar, if not identical, in appearance to a legitimate “Enter Password” window. Then, when the user provides the password, the user is unknowingly giving the hacker his or her password in plain text.